<template>
  <div class="mui-numbox" data-numbox-min="1" :data-numbox-max="max">
    <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
    <!-- 当数量值改变的时候 向父组件传值 -->
    <input id="test" class="mui-input-numbox" type="number" :value="initcount" 
    @change="countChanged" ref="numbox" readonly/>
    <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    <!-- 这里不能直接调用 store mutation 中的 addToCar 方法 
    因为 addToCar 是在原基础上进行叠加 -->
  </div>
</template>

<script>
import mui from '../../lib/mui/js/mui.js'
export default {
    mounted() {
      // 初始化数字选择框
      mui(".mui-numbox").numbox()
    },
    created() {
      // console.log(this.max)  //undefine  因为父组件中的goodsinfo是异步获取的
    },
    methods: {
      countChanged(){
        this.$store.commit("updateGoodsInfo",{
          //调用时传入商品 id 和 框中的物品数量
          id:this.goodsid,
          count:this.$refs.numbox.value,
        })
      }
    },
    props:[
        "max",
        "initcount",
        //需要传入 商品 id
        "goodsid"],
    watch:{
      //属性监听
      max: function(newVal,oldVal){
        mui(".mui-numbox").numbox().setOption("max",newVal);
      }
    }
}
</script>
<style lang="scss" scoped>
    
</style>